Skip to content

[#[599] Firebase Crashlytics를 붙인다#617

Merged
opficdev merged 12 commits into
developfrom
feat/#599-firebase-crashlytics
Jun 16, 2026
Merged

[#[599] Firebase Crashlytics를 붙인다#617
opficdev merged 12 commits into
developfrom
feat/#599-firebase-crashlytics

Conversation

@opficdev

@opficdev opficdev commented Jun 16, 2026

Copy link
Copy Markdown
Owner

🔗 연관된 이슈

🎯 의도

  • Firebase Crashlytics를 DevLog Infra 오류 관측 경로에 추가
  • production Crashlytics에 로컬 Debug 이벤트가 섞이지 않도록 빌드 설정과 수집 정책을 정리하기 위함

📝 작업 내용

📌 요약

  • Firebase Crashlytics 의존성 및 dSYM 업로드 스크립트 추가
  • Infra 서비스 실패 지점에 non-fatal error 기록 추가
  • Crashlytics 오류 도메인을 기능/작업 단위로 세분화
  • Debug 빌드 Crashlytics 수집 비활성화 및 Release 수집 활성화
  • Debug 빌드는 dwarf, Release 빌드는 dwarf-with-dsym 사용하도록 dSYM 생성 정책 정리
  • README 기술 스택에 Crashlytics 모니터링 항목 반영

🔍 상세

  • FirebaseCrashlyticsHelper를 추가해 공통 non-fatal 기록 경로 구성
  • 원본 NSErrorNSUnderlyingErrorKey로 보존해 Crashlytics 대시보드에서 원본 에러 정보 확인 가능하도록 처리
  • Auth, SocialLogin, Todo, TodoCategory, User, WebPage, PushNotification, PushMessaging, ProfileImageData, WebPageMetadata 서비스의 catch 경로에 Crashlytics 기록 추가
  • Crashlytics grouping 가독성을 위해 DevLogInfra.<Service>.<Code> 형태의 도메인 사용
  • Debug 빌드는 FirebaseCrashlyticsCollectionEnabled = NO로 설정해 로컬 개발 이벤트 전송 방지
  • Release 빌드는 FirebaseCrashlyticsCollectionEnabled = YES 및 런타임 collection 활성화로 배포 빌드 수집 유지
  • App target과 framework template의 DEBUG_INFORMATION_FORMAT을 Debug/Release별로 분리해 Debug 빌드 dSYM 생성 비용 제거

📸 영상 / 이미지 (Optional)

image

@opficdev opficdev self-assigned this Jun 16, 2026
@opficdev opficdev added the qa TestFlight에 배포 label Jun 16, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 PR은 Firebase Crashlytics를 도입하여 앱 내 다양한 서비스의 에러 발생 시 Crashlytics에 기록하도록 연동하고, Tuist 설정에 dSYM 업로드 스크립트를 추가하였습니다. 리뷰에서는 Crashlytics 대시보드에서 상세한 에러 정보를 유실하지 않도록 NSUnderlyingErrorKey를 userInfo에 포함할 것을 제안했습니다. 또한, 디버그 빌드 시 Crashlytics 수집 비활성화는 Info.plist 설정을 권장하며, 로컬 빌드 속도 향상을 위해 디버그 구성의 DEBUG_INFORMATION_FORMAT을 dwarf-with-dsym 대신 dwarf로 유지할 것을 피드백했습니다.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread Application/DevLogInfra/Sources/Service/FirebaseAppServiceImpl.swift Outdated
Comment thread Application/DevLogApp/Project.swift Outdated
Comment thread Tuist/ProjectDescriptionHelpers/Project+Templates.swift
@github-actions

Copy link
Copy Markdown

❌ iOS CI failed.

Build failed

No compiler-style error diagnostics were found in build.log.

@github-actions

Copy link
Copy Markdown

❌ iOS CI failed.

Build failed

No compiler-style error diagnostics were found in build.log.

@opficdev opficdev merged commit d93fc59 into develop Jun 16, 2026
5 checks passed
@opficdev opficdev deleted the feat/#599-firebase-crashlytics branch June 16, 2026 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

qa TestFlight에 배포

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Firebase Crashlytics를 붙인다

1 participant